<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib.override">

  <require>org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib</require>

  <documentation>

    Contributions for basic rest navigation through the application.

    @author Anahide Tchertchian (at@nuxeo.com)
  

  </documentation>
  <extension point="urlpatterns" target="org.nuxeo.ecm.platform.ui.web.rest.URLService">

    <documentation>
      Basic url pattern using the doc id codec: it places the application in the
      document context described by the url and sets current tabs.

      Additional url pattern using the doc path codec.
    </documentation>

    <urlPattern enabled="true" name="id">
      <defaultURLPolicy>false</defaultURLPolicy>
      <needBaseURL>true</needBaseURL>
      <needRedirectFilter>true</needRedirectFilter>
      <needFilterPreprocessing>true</needFilterPreprocessing>
      <codecName>docid</codecName>
      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>
      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
      <newDocumentViewBinding>
        #{restHelper.newDocumentView}
      </newDocumentViewBinding>
      <bindings>
        <binding callGetter="false" name="tabId">
          #{webActions.currentTabId}
        </binding>
        <binding callGetter="false" name="subTabId">
          #{webActions.currentSubTabId}
        </binding>
        <binding name="tabIds">#{webActions.currentTabIds}</binding>
        <binding callGetter="false" name="language">
          #{restHelper.localeString}
        </binding>
      </bindings>
    </urlPattern>

    <urlPattern enabled="true" name="default">
      <defaultURLPolicy>true</defaultURLPolicy>
      <needBaseURL>true</needBaseURL>
      <needRedirectFilter>true</needRedirectFilter>
      <needFilterPreprocessing>true</needFilterPreprocessing>
      <codecName>docpath</codecName>
      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>
      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>
      <newDocumentViewBinding>
        #{restHelper.newDocumentView}
      </newDocumentViewBinding>
      <bindings>
        <binding callGetter="false" name="tabId">
          #{webActions.currentTabId}
        </binding>
        <binding callGetter="false" name="subTabId">
          #{webActions.currentSubTabId}
        </binding>
        <binding name="tabIds">#{webActions.currentTabIds}</binding>
        <binding callGetter="false" name="language">
          #{restHelper.localeString}
        </binding>
        <binding callGetter="false" name="mainTabId">
          #{webActions.currentTabIds}
        </binding>
      </bindings>
    </urlPattern>

  </extension>

</component>
